1. Field of the Invention
The present invention relates to a serial bus system (IEEE1394), and in particular to an apparatus and method for virtually eliminating a loop formation between nodes formed due to a user""s wrong operation in a serial bus system.
2. Description of the Background Art
A digital electric appliance, for example, CD, DVD, DVCR, PC, etc. which has a good anti-noise feature is advanced. In the above-described appliance, a data is digitally processed, and a digital interface is used for transferring data between different units.
In order to transfer a video or audio data having a large band width, an IEEE1394 high speed serial bus(hereinafter called as IEEE1394) designated based on the IEEE standard and disclosed by Apple company attracts a big attention in the industry. The above-described IEEE1394 defines each unit as a node for a digital interface between units connected. In addition, a signal connection portion at a point in which nodes are connected is defined as a port. One node may have more than one port. In order to connect the units, a certain cable designated for a corresponding port is used.
In the IEEE1394, when the connected units are disconnected, a bus reset, a tree identification and a self identification are performed and interfaced with a network.
Among the above-described operations, the bus reset performs a process that the ports which are connected with the nodes and the ports which are not connected with the nodes are separated, and the connected ports each become an idle state.
The tree identification forms a data transfer path between the connected nodes. When a loop is formed, the next routine is not performed.
When a data path is set between the units, one root node is formed, and the self identification is performed for allocating a certain number to each node, so that a ready state for transferring and receiving a data is obtained.
The conventional bus system will be explained with reference to the accompanying drawings.
FIG. 1 illustrates an initial state among the unit connection states in a conventional bus system. As shown therein, a user connects a unit having five digital interfaces. At this time, each node performs a bus reset function, Thereafter, in the idle state, the node having one connected port among the nodes performs a tree identification as shown in FIG. 2 for thereby transferring a parent notify signal shown by the solid line in the drawings. In this case, first through third nodes 1, 2, and 3 each transmit a parent notify signal.
At this time, fourth and fifth nodes 4 and 5 each transmit a child notify signal to the first, second and third nodes 1, 2 and 3 based on the parent notify signal. A child node handshake is completed between the first and fifth nodes, and a child node handshake is completed between the fourth node and the second and third nodes.
The first number(#1) of the port number of the first node is defined as a parent port, and the first number(#1) of the port number of the fifth node is defined as a child port. The first number(#1) of each port number of the second and third nodes is defined as a parent port, and the second and third numbers(#2 and #3) of the port number of the fourth node are defined as a parent port. In addition, since the fourth and fifth nodes are all defined as the parent port except for the remaining one port(the second pot in the fifth node, and the first port in the fourth node, a parent notify signal is transmitted in the idle state therebetween.
Therefore, a root competition occurs between the fourth and fifth nodes. In this case, as shown in FIG. 4, the notify signal transmission is eliminated between the ports in which the parent competition occurred, and a root timer is designated based on a random value for thereby driving a timer. In this state, the child notify signal transmission is continuously performed. Since the child nodes receives the child notify signals, the child nodes transmit the child node handshake.
Therefore, since the fourth and fifth nodes have different competition timer values, the node in which the time out earlier occurred transmits a parent notify signal. If the time out earlier occurred at the fourth node, as shown in FIG. 5. The fourth node transmits a parent notify signal to the fifth node, so that the parent node handshake is performed.
In a state that the fifth node is timed out, it is recognized that there is a parent notify signal from the port of the fourth node which is the competition node, and the fifth node became the root node, so that a child notify signal is transmitted to the fourth node. The fourth node which received the child notify signal transmits the child node handshake, so that the child node handshake is completed.
Therefore, the parent nodes receive the child node handshake, and as shown in FIG. 7, the parent node handshake is transmitted, and as shown in FIG. 8, the tree identification is completed.
In the conventional bus system, when a user erroneously forms a loop as shown in FIG. 9, the bus reset is performed, and the routine waits until the number of the idle state ports becomes below 1 at the connected ports. In this case, since the first, second, fourth and fifth nodes have two connected ports and are all in the idle state, they are all in the standby state. In this case, since only the third node has one port of the idle state, the third node defines the connected port as a parent port and transmits a parent notify signal to the fourth node.
However, in the case of the fourth node, the fourth node transmits a child notify signal to the child node. The remaining two ports are in the idle state. Namely, no operation is performed at the remaining two ports. Therefore, it is impossible to implement a normal operation.
Accordingly, it is an object of the present invention to provide a loop formation eliminating apparatus of a serial bus system and a method thereof which are capable of automatically eliminating a loop formed at a bus system when a user erroneously forms a loop based on the IEEE1394 for thereby implementing a normal operation.
To achieve the above object, there is provided a loop formation eliminating apparatus of a serial bus system in a bus system in which a serial bus is connected between a plurality of nodes each having more than one signal port and a data encoder/decoder, a loop formation eliminating apparatus of a serial bus system, which includes a control state machine for recognizing that a loop is formed between nodes when each node searches a signal from the data encoder/decoder and outputting a control signal for eliminating a signal port in which the loop is formed, and a port suspend logic unit for eliminating a signal of a signal port in which the loop is formed, in accordance with a control signal of the control state machine.
The control signal for virtually eliminating the signal port in which the loop is formed is outputted from a tree identification machine of the control state machine.
To achieve the above object, there is provided a loop formation eliminating method of a serial bus system in a system having a plurality of nodes, which includes a first step for judging whether a loop is formed between nodes based on a port connection state and a relationship with other nodes at each node while a tree identification is being performed, and a second step for virtually eliminating one of the ports of an idle state when a loop is formed between the nodes as a result of the judgment.
In the second step, one of the idle ports of the node in which the random timer is first timed out among the nodes in which the loop is formed is eliminated.
A step for performing a bus reset operation after the second step is performed is further provided.
To achieve the above object, there is provided a loop formation eliminating method of a serial bus system in a bus system having a plurality of nodes for performing a tree identification after a bus reset is performed, which includes a step in which each node registers a port, which is not connected, among the ports and a port which does not receive a parent notify during the tree identification as a child port, a step for judging whether a configuration is timed out when the number of the child ports is smaller than the number obtained by subtracting 1 from the total number of the ports, and a step for virtually eliminating one of the idle ports during the time out of the random timer after the random timer is set when the configuration is timed out as a result of the judgment.
In the step for virtually eliminating one among the idle ports, the random timer outputs a control signal for virtually eliminating one of the idle ports of the node in which the random timer among the root competing nodes is first timed out.
A step for performing a bus reset operation after the step for eliminating one of the idle ports is performed is further provided.